﻿@model Tecnosop.WebUI.Models.FacturaConvenioViewModel
@{
    ViewBag.Title = "Detalle factura de convenio";
    int total_bruto = Model.FACTURA.TOTAL ?? 0;
    int descuento = (int)((Model.FACTURA.DESCUENTO ?? 0) * 0.01M * total_bruto);
    int iva = (int)((total_bruto - descuento) * 0.19M);
}
<fieldset>
    <legend>Detalles factura de convenio</legend>
    <div>
        <fieldset class="centrado" style="float: right; width: 300px; border-width: 2px; margin-bottom: 0px;">
            <div style="margin-top: 10px;">R.U.T.: @(Model.RAZON_SOCIAL.Equals("Comercializadora Tecnosop") ? "76.754.000-0" : "10.180.736-3")</div>
            <div style="font-size: large; margin-top: 10px;">F A C T U R A</div>
            <div style="margin-top: 10px;">N° @Html.DisplayFor(model => model.NUMERO_FACTURA)</div>
        </fieldset>
    </div>

    <div class="centrado" style="margin-bottom: 70px;">
        <p>
            <strong>@Model.RAZON_SOCIAL.ToUpper()</strong>
            <br />
            Reparación - Mantención de equipos electrónicos
            <br />
            Compra venta de equipos electrónicos
            <br />
            Alquiler maquinaria y equipos de oficina
            <br />
            Pasaje Rosario N° 5937 - Quinta Normal - Fono: 844 4021 - Cel: 09 342 1854
        </p>

        <div class="celda" style="border-width: thin; border-style: solid; border-color: Black; float: left;">
            <strong>@Html.LabelFor(model => model.FACTURA.FECHA_INSTALACION)</strong> :
            @Html.DisplayFor(model => model.FACTURA.FECHA_INSTALACION)
        </div>
    </div>

    <fieldset>
        <legend>Identificación del cliente</legend>
        <br />
        <table border="1" cellpadding="2" cellspacing="1" style="width: 100%; border-style: solid; border-width: 1px;">
	        <tr>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.NOMBRE)</td>
		        <td style="width: 35%">@Html.ActionLink(Model.CONVENIO.CLIENTE.NOMBRE, MVC.Cliente.Details(Model.CONVENIO.CLIENTE.RUT_CLIENTE))</td>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.RUT_CLIENTE)</td>
		        <td style="width: 25%">@Html.DisplayFor(model => model.CONVENIO.CLIENTE.RUT_CLIENTE)</td>
	        </tr>
	        <tr>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.DIRECCION)</td>
		        <td style="width: 35%">@Html.DisplayFor(model => model.CONVENIO.CLIENTE.DIRECCION)</td>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.REGION)</td>
		        <td style="width: 25%">@Html.DisplayFor(model => model.CONVENIO.CLIENTE.REGION)</td>
	        </tr>
	        <tr>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.TELEFONO_1)</td>
		        <td style="width: 35%">@(Model.CONVENIO.CLIENTE.TELEFONO_1 != null ? Html.DisplayFor(model => model.CONVENIO.CLIENTE.TELEFONO_1) : new MvcHtmlString("--- Sin teléfono ---"))</td>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.COMUNA)</td>
		        <td style="width: 25%">@Html.DisplayFor(model => model.CONVENIO.CLIENTE.COMUNA)</td>
	        </tr>
	        <tr>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.TELEFONO_2)</td>
		        <td style="width: 35%">@(Model.CONVENIO.CLIENTE.TELEFONO_2 != null ? Html.DisplayFor(model => model.CONVENIO.CLIENTE.TELEFONO_2) : new MvcHtmlString("--- Sin teléfono ---"))</td>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.CUIDAD)</td>
		        <td style="width: 25%">@Html.DisplayFor(model => model.CONVENIO.CLIENTE.CUIDAD)</td>
	        </tr>
	        <tr>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.CLIENTE.GIRO)</td>
		        <td style="width: 35%">@Html.DisplayFor(model => model.CONVENIO.CLIENTE.GIRO)</td>
		        <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.FACTURA.COND_DE_VENTA)</td>
		        <td style="width: 25%">@(Model.FACTURA.COND_DE_VENTA != null ? Html.DisplayFor(model => model.FACTURA.COND_DE_VENTA) : new MvcHtmlString("--- Sin condición de venta ---"))</td>
	        </tr>
        </table>
    </fieldset>
        
    <fieldset>
        <legend>Datos del convenio</legend>
        <br />

        <table border="1" cellpadding="2" cellspacing="1" style="width: 100%; border-style: solid; border-width: 1px;">
            <tr>
                <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.NUMERO_CONVENIO)</td>
                <td style="width: 35%">@Html.ActionLink(Model.CONVENIO.NUMERO_CONVENIO.ToString(), MVC.Convenio.Details(Model.CONVENIO.NUMERO_CONVENIO))</td>
                <td style="width: 20%"></td>
                <td style="width: 25%"></td>
            </tr>
            <tr>
                <td class="fondo-celeste"style="width: 20%">@Html.LabelFor(model => model.CONVENIO.FECHA_CONVENIO)</td>
                <td style="width: 35%">@Html.DisplayFor(model => model.CONVENIO.FECHA_CONVENIO)</td>
                <td class="fondo-celeste" style="width: 20%">@Html.LabelFor(model => model.CONVENIO.FECHA_VENCIMIENTO)</td>
                <td style="width: 25%">@Html.DisplayFor(model => model.CONVENIO.FECHA_VENCIMIENTO)</td>
            </tr>
        </table>
    </fieldset>

    <fieldset>
        <legend>Detalle factura</legend>
        <br />
        <div>
            <div class="innertube">
                <div style="border: 1px solid black; padding: 5px 5px 5px 5px">
                    @using (Html.BeginForm(MVC.FacturaConvenio.CambiarDescuento(), FormMethod.Post))
                    {
                        @Html.HiddenFor(t => t.NUMERO_FACTURA)
                        @Html.HiddenFor(t => t.RAZON_SOCIAL)
                        <div>@Html.LabelFor(t => t.FACTURA.DESCUENTO)
                        @Html.EditorFor(t => t.FACTURA.DESCUENTO) %
                        <input type="submit" name="ir" value="Aplicar" />
                        </div>   
                    }
                </div>
                

                @(Html.Telerik().Grid(Model.DetalleFactura)
                    .Name("DetalleFactura")
                    .DataKeys(keys => keys.Add(k => k.NUMERO_LINEA_DETALLE).RouteKey("NUMERO_LINEA_DETALLE"))
                    .DataBinding(db => db.Server()
                        .Delete(MVC.FacturaConvenio.QuitarLineaDetalleFactura(Model.NUMERO_FACTURA, Model.RAZON_SOCIAL).GetRouteValueDictionary()))
                    .ToolBar(tb => tb.Custom()
                        .Text("Agregar línea de detalle")
                        .ButtonType(GridButtonType.ImageAndText)
                        .ImageHtmlAttributes(new { @class = "t-icon t-add" })
                        .HtmlAttributes(new { @class = "nice radius thin green button" })
                        .Action(MVC.FacturaConvenio.DetalleFactura(Model.NUMERO_FACTURA, Model.RAZON_SOCIAL, null).GetRouteValueDictionary()))
                    .Columns(columns =>
                    {
                        columns.Bound(d => d.NUMERO_LINEA_DETALLE).Hidden(true);
                        columns.Bound(d => d.CANTIDAD);
                        columns.Bound(d => d.DESCRIPCION_LINEA);
                        columns.Bound(d => d.PRECIO);
                        columns.Bound(d => d.SUBTOTAL)
                            .FooterTemplate(
                            @<text>
                                <table border="0" cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td style="width: 100px">Total bruto</td>
                                        <td>@total_bruto.ToString("$ #,##0")</td>
                                    </tr>
                                    
		                            <tr>
                                        <td>@Html.LabelFor(t => t.FACTURA.DESCUENTO) (@(Model.FACTURA.DESCUENTO ?? 0) %)</td>
                                        <td>@descuento.ToString("$ #,##0")</td>
                                    </tr>

                                    <tr>
                                        <td>I.V.A. (19%)</td>
                                        <td>@iva.ToString("$ #,##0")</td>
                                    </tr>

                                    <tr>
                                        <td><strong>Total</strong></td>
                                        <td>@((total_bruto - descuento + iva).ToString("$ #,##0"))</td>
                                    </tr>
                                </table>
                                </text>)
                            .FooterHtmlAttributes(new { style = "padding-top: 0px; border-top-width: 0px;" })
                            .Width(250);
                        columns.Command(cmd =>
                        {
                            cmd.Delete()
                                .ButtonType(GridButtonType.Image);
                        }).Width(40);
                    })
                    .DetailView(temp => temp.Template(
                        @<text>
                        @if (item.NUMERO_LINEA_DETALLE == -1)
                        {
                            <p>
                                Ocurrió un problema al tratar de generar esta línea de detalle.
                                <br />
                                Revise los precios por hoja y mínimos garantizados del equipo en convenio @Html.ActionLink("aquí.", MVC.Convenio.DetailsEquipoEnConvenio(Model.NUMERO_CONVENIO, item.Numero_equipo_en_convenio.Value))
                            </p>
                        }
                        else if (item.DescripcionLinea.HasValue)
                        {
                            <ul style="float: left; width: 220px; padding-left: 0px;">
                            <li>Consignación del equipo: @item.DescripcionLinea.Value.Consignacion_equipo</li>
                            <li>Dirección: @item.DescripcionLinea.Value.Direccion_equipo_en_convenio</li>
                            <li>Mínimo garantizado: <strong>@item.DescripcionLinea.Value.minimoGarantizado.ToString("#,##") hojas</strong></li>
                            </ul>
                            <ul>
                                <li>Contador anterior: <strong>@item.DescripcionLinea.Value.Contador_anterior.ToString("#,##")</strong> medido el <i>@(item.DescripcionLinea.Value.Fecha_medicion_anterior.HasValue ? item.DescripcionLinea.Value.Fecha_medicion_anterior.Value.ToShortDateString() : "N/A")</i></li>
                                <li>Contador actual: <strong>@item.DescripcionLinea.Value.Contador_actual.ToString("#,##")</strong> medido el <i>@item.DescripcionLinea.Value.Fecha_medicon_actual.ToShortDateString()</i></li>
                            </ul> 
                        }
                        </text>))
                    .PrefixUrlParameters(false)
                    .Selectable()
                )
            </div>
        </div>
    </fieldset>

    <br />
    <hr />
    <p>
        @Html.ActionLink("Ver todas", MVC.Facturas.Index(), new { @class = "nice radius small blue button" })
        @Html.ActionLink("Emitir", MVC.FacturaConvenio.printPdfFacturaConvenio(Model.NUMERO_FACTURA, Model.RAZON_SOCIAL), new { @class = "nice radius small green button" }) 

        @if (!Model.FACTURA.FACTURA_EMITIDA.Value)
        {
            @Html.ActionLink("Editar", MVC.FacturaConvenio.Edit(Model.NUMERO_FACTURA, Model.RAZON_SOCIAL), new { @class = "nice radius small white button" })
        }
        @Html.ActionLink("Generar guía de despacho", MVC.GuiaDespacho.CreateConFacturaAsociada(Model.NUMERO_FACTURA, Model.RAZON_SOCIAL), new { @class = "nice radius small blue button" })        
    </p>
</fieldset>
